package com.neusoft.util;
import java.util.Map;

/**
 * XML拼接类
 * @author 郑兴龙 zheng-xl@neusoft.com
 *
 */
public class MsgTemplateXML {
	
	/**
	 * 页面前端登入xml
	 * @param map
	 * @return
	 */
	public static String loginXML(Map map){
		 StringBuffer xmlData = new StringBuffer();
		 xmlData.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>")
			.append("<MESSAGE>")
				.append("<CV_HEADER>")
				    .append("<MSG_SEQ>2</MSG_SEQ>")
				    .append("<MSG_TYPE>MSG_GET_VIDEO_IN_CHAN_LIST_ORG_REQ</MSG_TYPE>")
				    .append("<REQUESTID></REQUESTID>")
				    .append("<SESSION_ID></SESSION_ID>")
			    .append("</CV_HEADER>")
			    .append("<CV_CONTENT>")
				    .append("<LOGIN_INFO>")
				      .append("<LOGIN_NAME>").append("</LOGIN_NAME>")
				      .append("<LOGIN_PASSWORD>").append("</LOGIN_PASSWORD>")
				      .append("<LOGIN_IP>").append("</LOGIN_IP>")
				      .append("<LOGIN_PORT>").append("</LOGIN_PORT>")
				      .append("<SERVER_IP>").append("</SERVER_IP>")
				      .append("<SERVER_PORT>").append("</SERVER_PORT>")
				    .append("</LOGIN_INFO>")
			    .append("</CV_CONTENT>")
			   .append("</MESSAGE>");
			return xmlData.toString();
	}
	/**
	 * Java端登陆xml
	 * @param map
	 * @return
	 */
	public static String loginXMLToJava(Map map){
		 StringBuffer xmlData = new StringBuffer();
		 xmlData.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>")
			.append("<MESSAGE>")
				.append("<VERSION>2.0</VERSION>")
				.append("<CV_HEADER>")
				    .append("<MSG_SEQ>2</MSG_SEQ>")
				    .append("<MSG_TYPE>MSG_LOGIN_REQ</MSG_TYPE>")
			    .append("</CV_HEADER>")
			    .append("<CV_CONTENT>")
				    .append("<LOGIN_INFO>")
				      .append("<LOGIN_NAME>").append(map.get("loginName")).append("</LOGIN_NAME>")
				      .append("<LOGIN_PASSWORD>").append(map.get("loginPassword")).append("</LOGIN_PASSWORD>")
				      .append("<LOGIN_IP>").append(map.get("loginIp")).append("</LOGIN_IP>")
				      .append("<LOGIN_PORT>").append(map.get("loginPort")).append("</LOGIN_PORT>")
				      .append("<SERVER_IP>").append(map.get("sruServerIP")).append("</SERVER_IP>")
				      .append("<SERVER_PORT>").append(map.get("sruServerPort")).append("</SERVER_PORT>")
				    .append("</LOGIN_INFO>")
			    .append("</CV_CONTENT>")
			   .append("</MESSAGE>");
			return xmlData.toString();
	}
	/**
	 * 手动抓拍xml
	 * @param map
	 * @return
	 */
	public static String timeToCaptureXLM(Map map){
		 StringBuffer xmlData = new StringBuffer();
		 xmlData.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>")
			.append("<MESSAGE>")
				.append("<CV_HEADER>")
				    .append("<MSG_SEQ>2</MSG_SEQ>")
				    .append("<MSG_TYPE>MSG_VCU_SNAP_REQ</MSG_TYPE>")
				    .append("<REQUESTID></REQUESTID>")
				    .append("<SESSION_ID></SESSION_ID>")
			    .append("</CV_HEADER>")
			    .append("<VERSION>2.0</VERSION>")
			    .append("<CV_CONTENT>")
				    .append("<LOGIN_INFO>")
				    .append("<LOGIN_ID>").append(map.get("loginId")).append("</LOGIN_ID>")
				    .append("<LOGIN_PASSWORD></LOGIN_PASSWORD>")
				    .append("<TEMP_TOKEN></TEMP_TOKEN>")
				    .append("</LOGIN_INFO>")
				    .append("<SNAP_INFO><CAMERA_CODE>").append(map.get("CAMERA_CODE")).append("</CAMERA_CODE></SNAP_INFO>")
			    .append("</CV_CONTENT>")
			.append("</MESSAGE>");
		return xmlData.toString();
	}
	/**
	 * 通过项目查询视频设备列表xml
	 * @param map
	 * @return
	 */
	public static String getCameraListByProjectXML(Map map){
		 StringBuffer xmlData = new StringBuffer();
		 xmlData.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>")
			.append("<MESSAGE>")
				.append("<VERSION>2.0</VERSION>")
				.append("<CV_HEADER>")
				    .append("<MSG_SEQ>2</MSG_SEQ>")
				    .append("<MSG_TYPE>MSG_GET_VIDEO_IN_CHAN_LIST_PAR_REQ</MSG_TYPE>")
				    .append("<REQUESTID></REQUESTID>")
				    .append("<SESSION_ID></SESSION_ID>")
			    .append("</CV_HEADER>")
			    .append("<CV_CONTENT>")
				    .append("<DEV_CODE>").append(map.get("DEV_CODE")).append("</DEV_CODE>")
				    .append("<DEV_VENDOR_TYPE>").append("</DEV_VENDOR_TYPE>")
				    .append("<DEV_FORM_TYPE>").append("</DEV_FORM_TYPE>")
				    .append("<IS_ONLINE>").append("</IS_ONLINE>")
			    .append("</CV_CONTENT>")
			.append("</MESSAGE>");
		return xmlData.toString();
	}
	/**
	 * 通过行政区划获得所属项目及摄像头列表xml
	 * @param map
	 * @return
	 */
	public static String getProjectCameraListByAreaCodeXML(Map map){
		//
		 StringBuffer xmlData = new StringBuffer();
		 xmlData.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>")
			.append("<MESSAGE>")
				.append("<CV_HEADER>")
				    .append("<MSG_SEQ>2</MSG_SEQ>")
				    .append("<MSG_TYPE>MSG_GET_VIDEO_IN_CHAN_LIST_ORG_REQ</MSG_TYPE>")
				    .append("<REQUESTID></REQUESTID>")
				    .append("<SESSION_ID></SESSION_ID>")
			    .append("</CV_HEADER>")
			    .append("<CV_CONTENT>")
			    .append("</CV_CONTENT>")
			   .append("</MESSAGE>");
			return xmlData.toString();
	}
	/**
	 * 分页查询通用请求xml
	 * @param map
	 * @return
	 */
	public static String getCommonXML(Map map){
		//
		 StringBuffer xmlData = new StringBuffer();
		 xmlData.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>")
			.append("<MESSAGE>")
				.append("<VERSION>2.0</VERSION>")
				.append("<CV_HEADER>")
				    .append("<MSG_SEQ>2</MSG_SEQ>")
				    .append("<MSG_TYPE>MSG_GET_VIDEO_IN_CHAN_LIST_ORG_REQ</MSG_TYPE>")
			    .append("</CV_HEADER>")
			    .append("<CV_CONTENT>")
				    .append("<LOGIN_INFO>")
				    	.append("<LOGIN_ID>").append(map.get("loginId")).append("</LOGIN_ID>")
				    .append("</LOGIN_INFO>")
				    .append("<ORG_INFO>")
				    	.append("<ORG_CODE>").append(map.get("orgCode")).append("</ORG_CODE>")
				    	.append("<SUBORG_INCLUDED>").append("1").append("</SUBORG_INCLUDED>")
				    .append("</ORG_INFO>")
				    .append("<PAGE_INFO>")
				    	.append("<FROM_INDEX>").append("1").append("</FROM_INDEX>")
				    	.append("<TO_INDEX>").append("2147483647").append("</TO_INDEX>")
				    	.append("<ORDER_COND>")
				    		.append("<ORDER_FIELD>").append("CAMERA_CODE").append("</ORDER_FIELD>")
					    	.append("<ORDER>").append("UP").append("</ORDER>")
				    	.append("</ORDER_COND>")
				    	.append("<QUERY_COND>")
				    		.append("<QUERY_FIELD_LIST>")
				    			.append("<QUERY_FIELD>")
				    				.append("<FIELD>").append("CAMERA_NAME").append("</FIELD>")
				    				.append("<VALUE>").append(map.get("projectName")).append("</VALUE>")
				    				.append("<QUERY_TYPE>").append("INEXACT").append("</QUERY_TYPE>")
				    			.append("</QUERY_FIELD>")
				    		.append("</QUERY_FIELD_LIST>")
				    	.append("</QUERY_COND>")
				    .append("</PAGE_INFO>")
			    .append("</CV_CONTENT>")
			   .append("</MESSAGE>");
			return xmlData.toString();
	}
	/**
	 * 查询图片列表xml
	 * @param map
	 * @return
	 */
	public static String getIMGXML(Map map){
		//
		 StringBuffer xmlData = new StringBuffer();
		 xmlData.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>")
			.append("<MESSAGE>")
				.append("<CV_HEADER>")
				    .append("<MSG_SEQ>2</MSG_SEQ>")
				    .append("<MSG_TYPE>MSG_GET_VCU_IMAGE_INFO_REQ</MSG_TYPE>")
				    .append("<REQUESTID></REQUESTID>")
				    .append("<SESSION_ID></SESSION_ID>")
			    .append("</CV_HEADER>")
			    .append("<CV_CONTENT>")
			        .append("<LOGIN_INFO>")
				    	.append("<LOGIN_ID>").append(map.get("loginId")).append("</LOGIN_ID>")
				    .append("</LOGIN_INFO>")
				    .append("<PAGE_INFO>")
				    	.append("<FROM_INDEX>").append("1").append("</FROM_INDEX>")
				    	.append("<TO_INDEX>").append("2147483647").append("</TO_INDEX>")
				    .append("</PAGE_INFO>")
				    .append("<SNAP_INFO>")
				    		.append("<CAMERA_LIST>")
				    			.append("<CAMERA_CODE>").append(map.get("CAMERA_CODE")).append("</CAMERA_CODE>")
				    			//.append("<CAMERA_CODE>").append("201220120010101").append("</CAMERA_CODE>")
				    		.append("</CAMERA_LIST>")
					    	.append("<START_TIME>").append(map.get("start")).append("</START_TIME>")
					    	.append("<END_TIME>").append(map.get("end")).append("</END_TIME>")
					    	.append("<SNAP_TYPE_LIST>")
					    		.append("<SNAP_TYPE>").append("3").append("</SNAP_TYPE>")
					    	.append("</SNAP_TYPE_LIST>")
				    .append("</SNAP_INFO>")
			    .append("</CV_CONTENT>")
			   .append("</MESSAGE>");
			return xmlData.toString();
	}
}
